﻿// // ******************************************************************
// //       /\ /|       @file       Common.cs
// //       \ V/        @brief      await29
// //       | "")       @author     Await, 285283010@qq.com
// //       /  |
// //      /  \\        @Modified   2025-02-22 20:02
// //    *(__\_\        @Copyright  Copyright (c) , 2025-02-04 14:02 Await
// // ******************************************************************

using System.Text.RegularExpressions;

namespace AutomaticSubtitles.Contracts.Config;

public class Common
{
    public const string FileBDMV = "id.bdmv";
    public const string VideoExtIso = ".iso";
    public const string VideoExtM2ts = ".m2ts";
    public const string VideoExtMkv = ".mkv";
    public const string VideoExtMp4 = ".mp4";
    public const string VideoExtRmvb = ".rmvb";
    public const string MetadateSeasonName = "Season ";

    public const string MetadateSeasonnNfo = ".nfo";

    public const string MetadateTVNfo = "tvshow.nfo";
    public const string MetadateMVNfo = "movie.nfo";

    public const string NoSubDefaultKey = "en";

    public const string SrtDefaultKey = ".default";

    public const string DefaultSrt = ".srt";


    /// <summary>
    /// 字幕文件默认保存地址
    /// </summary>
    public static readonly string GlobalPath = Directory.GetCurrentDirectory() + "/.cache/";

    public static readonly List<string> WantedExts = [".srt", ".ass", ".ssa", ".vtt", ".sub"];


    /// <summary>
    ///     定义正则表达式模式
    /// </summary>
    public static readonly Regex SplitRegex = new(
        @"([" +
        @"\s" +         // 空白字符
        @",.!?;:" +     // 英文标点
        @"\-–—_" +      // 破折号和连接符
        @"\(\)\[\]{}" + // 括号
        @"\" +          // 引号
        @"/\\|~" +      // 其他符号
        @"，。！？；：" +     // 中文标点
        @"、…《》「」『』" +   // 中文特殊标点
        @"（）【】" +       // 中文括号
        @"])",
        RegexOptions.Compiled
    );

    /// <summary>
    ///     定义正则表达式模式
    /// </summary>
    public static readonly Regex NormalRegex = new(
        @"([" +
        @"\s" +         // 空白字符
        @"\-–—_" +      // 破折号和连接符
        @"\(\)\[\]{}" + // 括号
        @"\" +          // 引号
        @"/\\|~" +      // 其他符号
        @"、…《》「」『』" +   // 中文特殊标点
        @"（）【】" +       // 中文括号
        @"])",
        RegexOptions.Compiled
    );

    /// <summary>
    ///     定义正则表达式模式
    /// </summary>
    public static readonly Regex CommonRegex = new(
        //匹配短句符号,.!;，。；！
        @"[,.!;，。；！]",
        RegexOptions.Compiled
    );
}